//#include<bits/stdc++.h>
//using namespace std;
//#define int long long
//template<typename T>inline void read(T &x)
//{
//	T f=1;x=0;char c;
//	for(c=getchar();!isdigit(c);c=getchar())if(c=='-')f=-1;
//	for(;isdigit(c);c=getchar())x=x*10+(c^48);
//	x*=f;
//}
//struct node{
//	int u,v,w;
//};
//signed main()
//{
//	int n,m;
////	cin >> n >> m;
//	read(n),read(m);
//	vector<node> a(m);
//	for(int i=0;i<m;i++){
//		read(a[i].u),read(a[i].v),read(a[i].w); 
//	}
//	
//	return 0;
//}
#include<bits/stdc++.h>
#include<bits/extc++.h>
using namespace std;

#define int long long 
const int maxn =1234 ;maxm = 123456;
int inf = 1e9+7;
int head[maxm<<1],ver[maxm << 1],wei[maxm<<1],nex[maxm<<1],tot,n;
void addedge(int u,int v,int w){
	ver[tot] = v,wei[tot] = w,nex[tot] = head[u],head[u] =tot++;
}
struct nodeq{
	int x;
	int dis;
	nodeq(int X,int dis) : x(X),dis(dis){}
	bool operator > (const nodeq& o) const {return dis > o.dis;}
};
pb_ds:: priority_queue<nodeq,vector<nodeq>,greater<nodeq>> q;
signed main(){
	
}
